VERSION HISTORY (PART 3): --------------------------+ History From 09/05/2K, to 03/25/2001 -----------------------------------------------------------------------+ Version .80 (Released as an Update to Version .75, 03/25/2001) Files Included: \incoming.exe \Prefs.exe \ResetFPS.bat \game1\prefs.cfg \game1\credits.txt \game1\default_formations.dat \game1\miscgraphics\misc_graphics.bmp \game1\miscgraphics\8-bit\misc_graphics.bmp \game1\miscgraphics\title.bmp \game1\miscgraphics\8-bit\title.bmp \game1\mapdata\2-2-2.dat \docs\Version History Part 3.txt \docs\Documentation.html \docs\text.html The Title of the game is now "Silent Chaos". To avoid confusion with StarCraft it will be abbreviated as "SCH". Starting cash is now 500 and no longer drops when you add characters to the party. The Create Party Screen now shows any Magic potential each Character's has (It will list up to 4 magic categories). Clicking the character's image in the Create Party Screen now rotates the character. You can no longer exit the Create Party Screen without at least one Player Controlled Character (it would allow an AI member before). Made another text function to display the little font (the one used by the console). Added a typical Arrow cursor. This is now used in most interfaces. Created ResetFPS.bat This deletes the files in \game1\savedata\fpsreg which resets any stored framerate regulation data. LifeForce Potions now cost 450 by default MindForce Potions now cost 400 by default Added a Fatigue Penalty to Whips. +5 Fatigue for each hit character with an attack. Default Jab/Slash Levels for all Whips have been changed. Damage dealt by Throwing a Character is now half what it was. There is no longer a 10HP Minimum damage dealt when Character Throwing. There is now a random damage bonus (0 to 10) added when Throwing Characters. Grabbing characters no longer ever deals damage. Default formations and world make marker locations are now stored in an external file. The Default Formations have changed as well. Fixed a bug with Melee Exp gains causing a lot more gains then there should have been. These gains have been tweaked as well. Melee Attack Str Gains now work as follows: Str may be gained when attacking with a heavy item. Chance of gain is based on the item's Mass. Additional Str may also be gained using the "body building" method. This is when attacking with an item that the character can barely lift. (Item Mass greater then or equal to Str - 15). Opponent Str no longer effects a character's Str gain in melee attacks. Default Str for all characters have been adjusted. (This will only effect the characters you start with in your party in this version, the other char's starts are stored in the map data) Fatigue caused from attacking has been greatly tuned. Str and Weapon Mass now have more impact on Fatigue. Meaning you will now see more of a difference between characters with low/high Str as well as the effects of Weapon Mass on these characters. As before Stronger characters can handle heavier weapons easier. This effect has been increased. Camera now Defaults to Group Tracking when a new game is started. The "Surround" Sound Channels option has been removed. I no longer plan on adding 3D Sound. Doing so would take longer then originally thought and I don't think this game has much of a need for it. On DirectSound init, the console now displays the mode DirectSound is currently set at. Not what was attempted to be set. (When a mode fails DirectSound may be able to fall back on another mode.) Character can no longer Grab friends unless either that character is targeted or that character is not a party member and the grabbing character is human controlled. Basically this prevents characters from the wrong characters by mistake. These rules consider that someone holding a person can use that person as a shield as well. No Party Members throwing other members prevents exploits as well. Thrown characters now consider attacking the character that threw them. Fixed bug keeping character's killed by a throw to be thrown (they were just dropping down). Party Members that are holding a character can no longer be harmed by other member's melee attacks. Fixed a bug preventing characters that were killed by a blast but not blown up from being able to be resurrected. Increased the maximum number of items allowed in a single map to 80. Shotgun's were having problems on some maps (they spawn seven invisible bullet items). Bows and some spells also spawn items so this insures there's plently to go around. Fixed a sound bug causing two problems. Bad sound quality on some sound cards for effects not stored in hardware. The other problem was the sound quality settings and mono/stereo settings were not working properly. Fixed a memory leak when swapping with only one item. This was causing a graphical glitch where another character would stretch to the top of the screen for a second. Water levels have been tweaked a bit. Characters moving over varying water depths no longer instantly pop up and down the levels. Characters now have to bend down to pick up items below sea level. Food can now vary some more. Food can be hot, cold poison etc. The Eval Spell can be used to detect any of these. How extreme these effects are can vary as well. i.e. Eval may display food as "Poison", Strong Poison" or "Deadly Poison". Food item's no longer display their "full name" within the inventory panel. i.e. Instead of "Poison Apple", you'll just see "Apple". Daggers/Knives now do tripple damage when used to Backstab with a Jab Attack. Cursor code when Naming a Character has been replaced with the code used by Build Mode. (which works) Torches no longer make the "magic fire" sound effect when used in attacks. They still cause some fire damage as before. Character Jab and Slash sound effects (voices not the woosh sounds) have been removed. These ended up being annoying and I could use those buffers for other char sounds later. Re-wroked a lot of the Character Death handling code. You can now Alt+TAB in and out of the game to windows. Fixed a wall collision problem with characters. This is what caused problems with walking up and down slopes at angles. Removed the comment "(Currently there are no Lights in any of the Maps)" from prefs.cfg This was untrue. Version .75 has light sources. Added a Version tab to incoming.exe (When you look at the properties). Reflected character images now clip at the screen edges. Fixed problems with mouse sensitivity setting save/load. Sound effects now play in stereo (unless of course Mono is selected in Prefs). Added a new Pref, sound_width. This can be changed in the console using /sound_width # or by editing the prefs file. The bigger this is the wider the stereo will sound. i.e. If your speakers are close together you could increase this to make things sound farther appart. This probably should not be anything higher then 5. Fixed a bug with Player 3 and 4's status panels getting moved to the top edge of the screen. Particles, Blood Splats and items no longer end up on ledges over their landing point. Formation Position text now displays at the altitude of the group. -----------------------------------------------------------------------+ Version .75 (Released 02/17/2001) The "Docs" directory has been moved to the game's root directory. Added a Help Button to the Prefs Editor (Prefs.exe). Clicking this opens IE and loads documentation.html to the Preference Editor section. Currently this requires IE to be installed in c:\program files\internet explorer\ The Graphics for Body Parts are now restored when games are loaded. Removed the Are You Sure questions when Loading, Saving and when returning to the Main Menu from the Title Screen's Load Menu. You are still asked when Deleting SaveGames and Exiting the Game. Dead Bodies no longer stick out of water. Fixed a SaveGame bug causing character's to load far offscreen, sometimes never to return. When a character is cut in half. Gore particles now spawn from that character instead of from the attacking character. Fixed a bug causing many little problems. Such as character fatigue not dropping, time bombed character problems, problems un-targeting dead characters, some interface buttons not working, and then some, -while in certain situations. Very nasty bug indeed. The Inventory Panel GUI has been completely re-coded. It now uses Drag and Drop. A few bugs have been fixed, it's more expandible and less complex. Fixed crash on gamestart when memory is low. Optimized LightSources. Optimized LineOfSight() LineOfSight() is now accurate at any distance. Greatly improved Build Mode GUI. Fixed FPS display flickering. Added 8-bit (256 color) Mode. This uses a separate set of graphics. The installer will allow the user to install the High-Color and/or 256-Color graphics. This was added as a result of GeForce card(s) having many graphical errors when using DirectDraw in High-Color modes. These will need to use 8-Bit Mode to display untill those card makers (or nVidia) correct the issue. Most Error Messages are now displayed by the console instead of with ugly GDI text. There's a couple that still use GDI because they would occur before the graphics needed for the console would be loaded. Switched to DirectX 8 libs. However, I'm still not using 100% DX8 interfaces (DX is backward compatible), so things will still be upgraded in this area. I've noticed the new libs alone have increased speeds slightly. The Sound System is done (but not all sounds). This uses DirectSound. Many of the current Sound effect are temporary. This is something that will be worked on throughout the rest of the game's development. I wouldn't call this Sound System beta anymore but it can and will be improved. SaveGames are now timestamped. This is displayed in the SaveGame Panel You can no longer gain stats by attacking your own party. Agl now effects if a character will be able to critically hit another character. This works like Exp in that a bunny can't overtake a warrior. Agl now effects a character's ability to defend (as a modifier to Def). How much Cash you start with is now based on how many Party Members you start with. The more Members, the less Cash. On Shutdown, the screen resolution is now restored to whatever it was before the game changed it. This was added for the very few systems that seem to have problems with restoring the display. Added a console similer to those found in FPS games. Primary it is used for displaying messages, i.e. Who killed who, error messages, game init info etc. In the future it will also be used for network chat. It can also take commands. For a current list of commands view "\Docs\Console Commands.txt". The "Show Loading Text" Option now displays all of that text in the console. No such messages are displayed directly to the screen as before. Added Formation Singlefile (Traditional). This is like most RPG's where all the NPC's line up. This however has a tough of AI added. Characters will allow more distance between themselves and who they are following based on a few things. i.e. If character A is in a fight and character B is following character A, B will allow a bit of distance as to not get in the way. When you leave the Cell while in Formation Stay, the Formation is now changed to this instead of Formation 1. Formation Singlefile and selected with the Minus "-" key. Formation Stay is now selected using the Plus "+" key. Tilde is now used by the console. Between Cells (While the next Map is loading) the Console displays a summery of all character stat increases (if any). Added an error check when firearms are used in the event the projectile(s) does not spawn, which would cause a memory leak (and possible crash). In the event this happens it will appear that the weapon has jammed or misfired. Totally revamped Text Editing. It works much better, feels more solid. Fixed 8-way direction control in UI's using the Keyboard (only 4-directions were working). The Control Config Panel has been improved a bit. Fixed a bug allowing characters to get a -3 Con that would only last a couple seconds. Critical Hits are now slightly harder to get. Improved AI when an NPC is using a long range weapon while in water. Fixed the bug with Picking up items after eating Food. Line of Sight check for Long Range Attack AI now uses the same Z cord as the attack's Z. It was using the Top of the Character(s). This could have been causing friendly fire. This will also make NPC's smart enough to shoot over (or not shoot into) terrain. Party Members will no longer retreat if it's target is extremely close. The Monkey Paw can no longer resurrect the character that through it. i.e. A character holding the paw is killed and the paw falls on it's body, the character will not be resurrected. NPC's will no longer throw Items if they are fatigued or if they lack Exp. These rules exclude Explosion Potions and the use of Firearms. Guns now point straight ahead no matter how the character would normally point something, when the character is in certain positions. On Shutdown, the DirectInput Object was not being checked it it existed before releasing it. Normally that's no big deal, but if the game needs to Shutdown before the DirectInput Object is created (i.e. There's an error while the game starts) it would cause the game to crash instead of closing cleanly. Fixed. When Loading a SaveGame, the engine checks to see if the control devices that were being used when the game was Saved exist. If not the player's Input Device becomes the KeyBoard. (Before this would cause the game to crash.) Long Items are no longer re-positioned by the engine as before. Only their image is offset. (This look identical but corrects some problems). Long Items hed in a character's Second Item Spot are now offset as well. When checking if two characters have collided with each other, their Z cord and height are now checked. Changed how the Vendor interface times delays between button presses so that the timing is the same no matter now fast the system is. Items are no longer clipped at sea level. When a Party Member was about to pick something up; If you filled both of it's Item Spots before it actually picked up the Item it would constantly swap it's items untill someone attacked it. Fixed. Fixed another AI bug keeping NPC's from picking up items that are in water while they were not in a fight. Fixed graphical problems with particale stains (like when a leaf lands on the ground) when using the "Scale Graphics Realtime" option. Graphic Filters (used in the background of windows etc.) are now in a separate function. So I can filter any area I want (dialogs, console, interfaces etc..). I've also added clipping and removed GDI (cleaner looking and faster). Held Items are no longer displayed at all when the character is in water unless it's attacking. Holding Run while pressing Menu now acts as the "Next Party Member" key. Moved some GUI graphics off of the item graphics surface. Gibs that spawn with -z inertia (flying upward) will now vary somewhat in that inertia. i.e. If 10 gibs are spawned and thrown upward they won't all go the same speed. In Build Mode, You can now draw filled rectangles on the HitMap. When being asked a question. Universal Keys (Esc, N, Y, Enter) now override others. Fixed a bug with the 3rd Party Member using Walking Animations when there wasn't any. Added the Create Party Screen (Character(s) Select). Clicking "New" in the main menu now takes you here. Added savegame_version to Savegame data. When the game starts it will delete all savegames that do not match the current savegame_version. This prevents problems if the savegame format ever changes. When the game looks for a new character object to use as a Party Member it now does 1 or 2 checks. It first looks for an object that is inactive. If it finds one it is used. Otherwise it looks for a dead object (hp <= 0), and will resort to that. This is to prevent problems with Rezing characters after other's have joined. FaceCharacter() has been optimized and tweaked. The number particles created to show damage no longer have a random z-inertia. Often times they were getting caught in the wind and not landing aligned. Fixed display problems with Pause Mode while FrameSkipping. "Pause" now displays at the bottom of the screen while in Pause Mode. AI that determines if a friend may be in the way of a melee attack has been improved. Added some AI that causes Party Members to not Attack someone if another able* Member is already attacking them. This is under normal conditions only and does not totally prevent two members from attacking the same target. Able Members being those that can hold their own. i.e. If a Member start attacking a character and another see's that member in a fight, It will not jump in the fight unless the member is in trouble. This prevents it from leaving formation were it may be needed for something more important. An exception to the above AI: A Member will still attack if the enemy get's erxtremely close. Even if the Member is in poor condition, once the enemy is away the Member will leave it alone. AI Code that caused Party Members to leave a fight to another member has been removed. Due to the above code this should be more rare. In the event two members are fighting the same target they should work together (better then before due to other AI tweaks). Item In Hand is no longer displayed while a character is swapping items, reloading etc. - if the character's Secondary Item is not to be shown. i.e. Aden swapping items under his cape. Item Spot Plot: Added the "Point Cursor". This cursor is used when it's outside the character window to make it easier to click options etc. Item Spot Plot: When creating a new isl file, more logical default positions are created. Character Default Stats are no longer stored in external files. This is to prevent hacking. Melee Hit Detection is no longer based on the attacking Item's Z cord. It now uses the Item's Holder's Z cord and Height. What this means as all Character's attacks hit in the same place no matter how high their item is. This is about 3/4 of the character's height. Rings in water when the Map is using Reflections now clip to the edge of the water. i.e. You won't see rings coming up on land anymore, if the water is reflective. Fixed some clipping problems with held Long Items. Fixed problems with NPC's not picking up Money Bags and a few other items. Added Mini Stat Bars to the Inventory Panel for each Party Member. Added a few Special items. Smily and the Pain Conch Shell are a couple. There will be more. These items have special abilities and will be very rare (there will only be one of some of these). What they do will be explained within the game (finding out how to use some of these may become a mission in itself). NPC's who are looking for an item to pick up will now consider the value of all items that meet criteria. Meaning, if there's more then one item being considered for picking up, it will grab the most valuable one. i.e. Your in a fight with an NPC and you disarm it's staff. It has no secondary weapon so it now looks for a weapon. It sees on the ground it's old spear but there's also a silver war axe that you lost earlier. It will grab your axe. Fixed and tweaked AI that controls attacking characters above or below the attacker... NPC's will no longer swing at characters without checking the character's altitude. NPC's will no longer target these characters either. NPC's recognize that they can hack at a character's legs if they are slightly elivated etc. Swapping Items is now faster. The speed is also slightly effected by the character's Agl. How long it takes to use Inventory is now more effected by Agl, more so then Swapping. On Map load and SaveGame load character terrain data is now reset. This fixes the problem with loading a game and not being able to move (Character traction was getting all fragged up.) (Thanks Enigma) Fixed a clipping bug with reflected Structures. Object Targetting has been greatly worked on. When saving and loading Control Configurations, Run was being left out. Fixed. Changed the way character source rect's are determined (removed some math). This has given a pretty nice performance boost. Mana now increases slowly over time but not while the character is fatigued or active. Mana Potions give more, 20 + a random bonus up to 20 (anywhere between 20 and 40). They cost 50 bucks by default. The Engine is now able to zoom the entire screen. This feature will probably not be used all that often but it's there. Some Framerate Regulation stuff was still happening when Regulation was disabled. Fixed. Framerate Regulation is no longer done while in Pause Mode (FPS also will not display while Paused). Pressing Menu or Right Clicking while in the Vendor Interface now Exits as before but only if the cursor is below the item selection. You now have to hold down Use a couple seconds before you'll drink an Explosion Potion. This should prevent this happening by mistake. While the button is held blood will pop out of the character a few times as a warning. The timer on Charactes ready to explode is shorter now. HitMap saving with Saved Maps has been disabled. This is to prevent players getting theirselves stuck. Such saving can still be done with scripts though. The engine now checks if any party members are fighting before displaying Level increase info. i.e. It will avoid interupting a fight with a dialog box. The Magic system is done. The Magic Interface is done. Still may get tweaked later of course. Using Firearms no longer fatigues if the character's Fatigue is already over 25 (out of 40). NPC's no longer throw/fire things when it will probably go over the target's head. Handguns and their Clip's now hold 16 rounds. Throwing requires less Exp to go straight. -----------------------------------------------------------------------+ Version .72 (Released as an Update to Version .7x, 09/26/2K) Files Included: \incoming.exe \Prefs.exe \readme.txt \game1\prefs.cfg \game1\MapData\*.* \game1\charactergraphics\char7A.map \game1\charactergraphics\char7.isl \game1\Fonts\font-c1.bmp \game1\docs\Version History Part 3.txt \game1\docs\Version History Part 2.txt +----------------------------------------------------------+ The code keeping NPC's from being likely to try to pickup the same item (V.71) has be axed for a different method. So far this seems to work better. Fixed a bug with a Frame Skip setting getting screwed after loading a game while Skipping is not set to Auto. Added a new font (Font C) for little white numbers. Added GraphicText3() which displays those little numbers. You can now Buy items in bulk from Vendors. Each time you press Manip or Left Click etc the quanity adds, Menu, Right Click etc it subtracts. Over the item you'll see the quantity -which uses the new Font C. The Build Panel in Build Mode also makes use of the little numbers by displaying a number on each object button to show that object's state. Nothing = Not Active, otherwise it's Active value is shown (AI Type, On/Auto/Off, etc.) Fixed a glitch in the File Panel. After loading a game from the title screen it would not reload if it was displayed first when the menu system was opened. Fixed another glitch with the File Panel. On the Title screen the text was drawing on the background sometimes when you clicked. Fixed. All Build Mode and Tool related files are now in their own dir, "..\Build\". Default Character settings are now stored in external files in the Build dir. Shift + F will now Default All Characters in Build Mode. Striped a lot of various code to shrink filesize. Fixed some bugs with character clipping. Optimized Character Clipping 1600x1024 and 1600x1200 are now selectable with Prefs.exe Added more Popup Text to the menu system (when you put the cursor over stuff). Camera Tracking is now preserved with SaveGames. You can now grab things with Whips by pressing Pickup (Use). Optimized and improved Attack Hit Detection with Walls. LifeForce Potions give more now but the random bonus is less. On startup the engine checks all savegames for version info. Any savegames that don't match the current version are deleted. Body Parts are now deleted when you leave to another cell and the previous one saves. Any time a Map is loaded, the locations of dead Characters are marked with a blood stain. This is so they may be resurrected after you leave and return (or load a SaveGame). Characters that have been cut in half or blown up can not be resurrected. Character's Resurrected with the Monkey's Paw now start with 50%HP (was 25%) or 15HP (was 10HP), whichever is greater. Character's Resurrected with the Monkey's Paw are now messaged telling which stat was Destroyed from the resurrection. The character who did the resurrecting (if there is one) is messaged with "Resurrected whoever". Character's Resurrected with the Monkey's Paw now have their Attack Target reset. Optimized DrawDisplay() Framerate Regulation settings for each Cell are now saved. Since some Maps run much faster or slower then others. This will help prevent game speed problems when entering a new Cell. These files are have no relation to Save Games. Fixed a bug causing some HitMaps to save to SaveGames when they didn't need to. I don't think this harmed gameplay in anyway however. On game load, frame skipping status wasn't being set correctly depending on the Frame Skip settings "Always" and "Never". When between Cells, character's are checked to see if they should pass over better and what to do about those that shouldn't. i.e. If you have a member falling in a pit but you quickly run to the next Cell. That member is now killed and it's item's deleted. -However, you could still open Inventory and get their items off of them before leaving the cell. I was going to make this impossible but then that really wouldn't make much sense would it? Added the same check for all other characters (non-members) as well. This one is only done if the Map will be saved (otherwise everything's going to get reset anyway). The Enter key (on the main keyboard) now also acts as "accept". You can now Slash Critters to tiny bits. The Menu key has faster response time. The game no longer Shutsdown after a GameOver. When you return to a Cell, some items will no longer be there (is the Map Saves at all) In general, anything that somebody would want that isn't too heavy will be gone. Other things also will be gone. Body Parts for example decay, anything flying through the air falls where it is and harms nobody. Bullets in flight are Deleted (because they're invisible and usless anyway). Magic Fire and Ice is also Deleted. So in general, be carefull about what you leave laying around, it may not be there when you return! Prefs.exe has a new layout. I think this is cleaner. Mouse and D-Pad Sensitivities have been removed from Prefs.exe (these were pointless no?). Added an Icon for Incoming.exe (yay). -----------------------------------------------------------------------+ Version .71 (Released as an Update to Version .70, 09/06/2K) Files Included: \incoming.exe \game1\prefs.cfg \game1\charactergraphics\char7.isl \game1\docs\Version History Part 3.txt \game1\docs\Version History Part 2.txt +----------------------------------------------------------+ Fixed graphical problems with characters who Join the party. Fixed problem with NPC's being stuck in their fighting pose. Status Panel locations no longer save (they'll always reset to the screen corners). Optimized LookForItem() NPC's are now less likely to grab at the same item. NPC's will no longer consider an item over their head as something to pickup. NPC's no longer pickup items of very little value even if they are in a fight. I may change this back again later, but I'd like to see how it works for awhile The idea is to keep NPC's from pitting up rocks and such when a sword is also around. Fixed a bug causing Critters to knock things down when they bump into walls etc. Optimized CheckHitMap() whitch is called quite a lot so this may speed things a tad. -Documented by Kevin Reems